Ejercicio: satisfacción de los pacientes

Práctica guiada (clase 4)

Author

Silvia Pineda, Almudena Moreno y Javier Álvarez Liébana

Práctica 1

Para este ejercicio usaremos la tabla de datos de satisfacción de pacientes en un hospital guardada en el archivo .csv llamada SatisfaccionPacientes.csv

Cargamos las librerías necesarias

library(tidyverse)

Lectura de ficheros y normalización de nombres

datos <-
  read_csv("./datos/SatisfaccionPacientes.csv") |> 
  janitor::clean_names()

Pregunta 1

Aplica el código que sea necesario para determinar el tamaño muestral, el número de variables y el tipo de estas.

Code
# Tamaño muestral/ número de observaciones
n <- ...

# Número de variables
p <- ...

# Tipo de variables
datos

Pregunta 2

Obtén la tabla de frecuencias de las variables cualitativas (lo que puedas) y luego contesta a las siguientes preguntas:

  • ¿Cuántas mujeres hay?

  • ¿Cuántos individuos están casados?

  • ¿Qué porcentaje de individuos tienen un estado de salud Regular o Malo?

  • ¿Harías alguna cosa con la tabla de frecuencia de estado de salud?

Code
# no podemos calcular acumulados ya que son genero es nominal
datos |> 
  ...(genero) |> 
  rename(frecuencia_abs = ...) |> 
  mutate(frecuencia_rel = ...)

# Hay 53 mujeres

datos |> 
  ...(estado_civil) |> 
  rename(frecuencia_abs = ...) |> 
  mutate(frecuencia_rel = ...)

# Hay 26 personas casadas

datos <-
  datos |>
  mutate(estado_salud =
           factor(estado_salud, ..., ...))
datos |> 
  ...(estado_salud) |> 
  rename(frecuencia_abs = ...) |> 
  mutate(frecuencia_rel = ...,
         frecuencia_acum_abs = ...,
         frecuencia_acum_rel = ...)

# Hay 44+15 = 59 personas con un estado de salud malo o regular. 

# ¿Sería conveniente hacer algo con las categorías? 

Pregunta 3

Calcula la media, mediana, cuartiles y desviación típica de las variables cuantitativas (veremos una forma más eficiente de hacerlo pero de momento, una a una). Guarda los resultados en resumen y expórtalo a un resumen.csv

Code
resumen <-
  datos |>
  summarise(media_edad = ..., sd_edad = ...,
            mediana_edad = ...,
            Q1_edad = ...,
            Q3_edad = ...,
            # tiempo espera
            ...,
            # grado satisfaccion
            ... ,
            # número visitas
            ...)
write_csv(resumen, file = "./datos/resumen.csv")

Pregunta 4

Crear un diagrama de barras para la variable género

Code
# Género
ggplot(...) +
  geom_bar(aes(x = ..., fill = ...), alpha = 0.75) +
  labs(title = "Diagrama de barras de la variable género", 
       x = "Categoría", y = "Frecuencia absoluta",
       fill = "Categoría") +
  theme_minimal() 

Crear un diagrama de barras para la variable género

Code
# Género
ggplot(datos) +
  geom_bar(aes(x = genero, fill = genero), alpha = 0.75) +
  labs(title = "Diagrama de barras de la variable género", 
       x = "Categoría", y = "Frecuencia absoluta",
       fill = "Categoría") +
  theme_minimal() 

Personaliza los colores con alguna paleta

Code
# Género
ggplot(...) +
  geom_bar(...) +
  scale_... +
  labs(...) +
  theme_minimal() 

Pregunta 5

Crear un diagrama de barras para la variable estado de salud

Code
# Estado de salud (el orden importa)
ggplot(...) +
  geom_bar(aes(...)) +
  scale_... +
  labs(...) +
  theme_minimal() 

Pregunta 6

Crear un histograma y un gráfico de densidad para las variable edad, tiempo de espera y grado de satisfacción. ¿Crees que todas deberían representarse mediante este tipo de gráficos? ¿Qué propondrías?

Code
ggplot(...) +
  # Define el ancho de las barras y colores
  geom_histogram(..., bins = 30, fill = "darkorange", alpha = 0.75) + 
  labs(title = "Histograma de edad",
       subtitle = "Bins = 30",
       x = "Valores", y = "Frecuencia absoluta") +
  theme_minimal()

ggplot(...) +
  geom_density(...) + 
  labs(title = "Gráfico de densidad de edad",
       x = "Valores", y = ...) +
  theme_minimal()

ggplot(...) +
  # Define el ancho de las barras y colores
  geom_histogram(...) + 
  labs(...) +
  theme_minimal()

ggplot(...) +
  geom_density(...) + 
  labs(...) +
  theme_minimal()

# Representación regular, no aporta ni resume
ggplot(...) +
  # Define el ancho de las barras y colores
  geom_histogram(...) + 
  labs(...) +
  theme_minimal()

# Las variables discretas se pueden representar con una diagrama de barras
ggplot(...) +
  geom_bar(...) + 
  labs(...) +
  scale_x_... + 
  theme_minimal()

Pregunta 7

Realiza un boxplot para edad y un boxplot para numero de visitas por género y contesta a las siguientes preguntas:

  • ¿La variable edad tiene outliers? ¿Qué edad tienen esos pacientes?

  • ¿Quién ha esperado más los hombres o las mujeres?

Code
# Crear un boxplot de la variable Edad
ggplot(...) +
  geom_boxplot(..., fill = "lightblue", alpha = 0.75) +  
  labs(title = "Boxplot de edad", 
       y = "Edad") +
  theme_minimal()

# Crear un boxplot de numero de visitas por Género
ggplot(...) +
  geom_boxplot(...) +
  labs(...) +
  theme_minimal()